home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / aed243a.zip / RSB4UTOG.MRG < prev    next >
Text File  |  1990-06-10  |  16KB  |  437 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against RBBSSUB4.BAS to produce RSB4UTOG.BAS
  3. * RBBSSUB4.BAS:  Date 5-26-1990  Size 122396 bytes
  4. * ------------[ Created 06-10-1990 02:00:31 ]------------
  5. * REPLACING old line(s) by new
  6. 57000 ' $SUBTITLE: 'Toggle - Toggle User Preferences'
  7. ' $PAGE
  8. '
  9. '  NAME    -- Toggle
  10. '
  11. '  INPUTS  -- ToggleOption      Option to toggle or view
  12. '                               according to the following:
  13. '    ToggleOption         PREFERENCE
  14. '   Toggle   VIEW
  15. '     1       -1           Autodownload
  16. '     2       -2           Bulletin review on logon
  17. '     3       -3           Case change
  18. '     4       -4           File review on logon
  19. '     5       -5           Highlight
  20. '     6       -6           Line feeds
  21. '     7       -7           Nulls
  22. '     8       -8           TurboKey
  23. '     9       -9           Expert
  24. '    10      -10           Bell
  25. * ------[ first line different ]------
  26. '    11      -11           Editor
  27. '
  28. '  OUTPUTS -- ZSubParm   passed from TPut
  29. '
  30. '  PURPOSE -- Sets or views any single user preference value
  31. '
  32.       SUB Toggle (ToggleOption) STATIC
  33.       ZSubParm = 0
  34.       IF ToggleOption < 0 THEN _
  35.          GOTO 57005
  36.       ON ToggleOption GOSUB _
  37.          57010, _         'Autodownload
  38.          57120, _         'Bulletin review on logon
  39.          57260, _         'Case change
  40.          57150, _         'File review on logon
  41.          57040, _         'Highlight
  42.          57100, _         'Line feeds
  43.          57210, _         'Nulls
  44.          57230, _         'TurboKey
  45.          57190, _         'Expert
  46.          57170, _         'Bell
  47.          57290            'Editor
  48.       EXIT SUB
  49. * REPLACING old line(s) by new
  50. 57005 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  51.       ON -ToggleOption GOSUB _
  52.          57030, _         'Autodownload
  53.          57130, _         'Bulletin review on logon
  54.          57270, _         'Case change
  55.          57160, _         'File review on logon
  56.          57050, _         'Highlight
  57.          57110, _         'Line feeds
  58.          57220, _         'Nulls
  59.          57240, _         'TurboKey
  60.          57200, _         'Expert
  61. * ------[ first line different ]------
  62.          57180, _         'Bell
  63.          57300            'Editor
  64.       EXIT SUB
  65. * REPLACING old line(s) by new
  66. * ------[ first line different ]------
  67. 57130 ZOutTxt$ = MID$("CheckSkip",1 -5 * (NOT ZCheckBulletLogon),5) + _
  68.            " old Bulletins at Logon"
  69.       CALL QuickTPut1 (ZOutTxt$)
  70.       RETURN
  71. * REPLACING old line(s) by new
  72. * ------[ first line different ]------
  73. 57160 ZOutTxt$ = MID$("CheckSkip",1 -5 * ZSkipFilesLogon,5) + _
  74.            " new Files at Logon"
  75.       CALL QuickTPut1 (ZOutTxt$)
  76.       RETURN
  77. * REPLACING old line(s) by new
  78. 57280 ZUseTPut = (ZUpperCase OR ZXOnXOff)
  79.       RETURN
  80. * ------[ first line different ]------
  81. * INSERTING new line(s)
  82. 57290 ZFullScreenEditor = NOT ZFullScreenEditor
  83. 57300 CALL QuickTPut1 ("Full Screen Editor " + FNOffOn$(ZFullScreenEditor))
  84.       RETURN
  85.       END SUB
  86. '
  87. * REPLACING old line(s) by new
  88. 58900 ZOutTxt$ = ZDirPrompt$
  89.       ZMacroMin = 2
  90.       CALL PopCmdStack
  91.       IF ZWasQ = 0 OR ZSubParm = -1 THEN _
  92.          EXIT SUB
  93.       CALL AllCaps (ZUserIn$(ZAnsIndex))
  94.       IF ZUserIn$(ZAnsIndex) = "Q" THEN _
  95.          ZWasQ = 0 : _
  96.          EXIT SUB
  97.       ZWasA = INSTR("E+.E-.E.L.H.?.",ZUserIn$(ZAnsIndex)+".")
  98.       IF ZWasA = 0 THEN _
  99.          EXIT SUB
  100.       IF ZWasA > 8 THEN _
  101.          IF ZAnsIndex < ZLastIndex THEN _
  102.             GOTO 58900 _
  103.          ELSE GOTO 58902
  104.       IF ZWasA = 7 THEN _
  105.          ZExtendedOff = NOT ZExtendedOff _
  106.       ELSE ZExtendedOff = (ZWasA > 3)
  107. * ------[ first line different ]------
  108.       CALL QuickTPut1 ("Extended directory display "+MID$("On Off",1-3*ZExtendedOff,3))
  109.       GOTO 58900
  110. * REPLACING old line(s) by new
  111. * ------[ first line different ]------
  112. 59303 CALL QuickTPut(ZEmphasizeOff$,0)
  113.       ZOutTxt$ = "Download what: L)ist, * = new, or file(s)" + _
  114.            ZPressEnterExpert$
  115.       ZMacroMin = 99
  116.       ZStackC = ZTrue
  117.       CALL PopCmdStack
  118.       IF ZSubParm = -1 OR ZWasQ = 0 THEN _
  119.          ZLastIndex = 0 : _
  120.          EXIT SUB
  121. * REPLACING old line(s) by new
  122. 59320 ZOutTxt$ = PartToPrint$
  123. * ------[ first line different ]------
  124.       IF LEN(ZOutTxt$) > 78 THEN _
  125.          ZOutTxt$ = LEFT$(ZOutTxt$,78)
  126.       CALL ColorDir (ZOutTxt$,"Y")
  127.       IF PersonalStatus$ = "*" AND LEFT$(ZOutTxt$,1) <> " " THEN _
  128.          ZOutTxt$ = "*" + ZOutTxt$ _
  129.       ELSE ZOutTxt$ = " " + ZOutTxt$
  130.       IF ZLocalUser THEN _
  131.          GOTO 59322
  132.       CALL EofComm (Char)
  133.       IF Char <> -1 THEN _
  134.          GOTO 59323            ' comm port input
  135. * REPLACING old line(s) by new
  136. 59325 IF PersIndex > 0 THEN _
  137. * ------[ first line different ]------
  138.          ZOutTxt$ = "More [Y],N,C or download what (* = new)" _
  139.       ELSE GOTO 59303
  140.       ZNoAdvance = ZTrue
  141.       ZMacroMin = 99
  142.       ZStackC = ZTrue
  143.       CALL PopCmdStack
  144.       IF ZSubParm = -1 THEN _
  145.          GOTO 59335
  146.       ZNonStop = (ZNonStop OR INSTR(" Cc",ZUserIn$) > 1)
  147.       IF PersIndex < 1 AND ZWasQ = 0 THEN _
  148.          GOTO 59335
  149.       CALL WipeLine (78)
  150.       IF ZNo THEN _
  151.          GOTO 59303
  152.       IF LEN(ZUserIn$(ZAnsIndex)) > 2 THEN _
  153.          GOTO 59304
  154.       GOTO 59306
  155. * REPLACING old line(s) by new
  156. 59456 ZFileName$ = ZCurPUI$
  157.       CALL Graphic (GDefault$,ZFileName$)
  158.       IF NOT ZOK THEN _
  159.          CALL UpdtCalr ("Missing menu " + ZCurPUI$,2) : _
  160.          ZCurPUI$ = ZPrevPUI$ : _
  161.          GOTO 59456
  162. * ------[ first line different ]------
  163.       CALL BreakFileName(ZFileName$,ZWasZ$,ZActiveMenu$,ZWasZ$,ZTrue)
  164.       ZActiveMenu$ = LEFT$(ZActiveMenu$,1)
  165.       LSET ZLastCommand$ = ZActiveMenu$ + " "
  166.       ZPrevPUI$ = ZCurPUI$
  167.       LINE INPUT #2,ZFileName$
  168.       LINE INPUT #2,Prompt$
  169.       INPUT #2,ValidChoice$,ActualCommands$
  170.       LINE INPUT #2,MenuChoice$
  171.       LINE INPUT #2,MenuName$
  172.       LINE INPUT #2,QuitCmd$
  173.       LINE INPUT #2,QuitPrompt$
  174.       LINE INPUT #2,QuitSubCmds$
  175.       LINE INPUT #2,QuitMenuOpt$
  176.       LINE INPUT #2,QuitMenus$
  177.       CALL Graphic (GDefault$,ZFileName$)
  178.       CALL BreakFileName (ZFileName$,MenuDrvPath$,WasX$,ZWasY$,ZTrue)
  179.       MenuToDisplay$ = ZFileName$
  180.       WasJ = INSTR(ZOrigCommands$,"?")
  181.       IF WasJ < 1 THEN _
  182.          WasX$ = "" _
  183.       ELSE WasX$ = MID$(ZAllOpts$,WasJ,1)
  184. * REPLACING old line(s) by new
  185. * ------[ first line different ]------
  186. 59461 MID$(ZLastCommand$,2,1) = " "
  187.       ZOutTxt$ = Prompt$
  188.       CALL SmartText(ZOutTxt$,ZWasQ,ZFalse)
  189.       ZTurboKey = -ZTurboKeyUser
  190.       CALL PopCmdStack
  191.       IF ZSubParm = -1 OR ZFunctionKey <> 0 THEN _
  192.          EXIT SUB
  193.       IF ZWasQ = 0 THEN _
  194.          GOTO 59458
  195. * REPLACING old line(s) by new
  196. * ------[ first line different ]------
  197. 59470 MID$(ZLastCommand$,2,1) = ZWasZ$
  198.       ZOutTxt$ = QuitPrompt$
  199.       ZTurboKey = -ZTurboKeyUser
  200.       CALL PopCmdStack
  201.       IF ZSubParm = -1 OR ZFunctionKey <> 0 THEN _
  202.          EXIT SUB
  203.       IF ZWasQ = 0 THEN _
  204.          GOTO 59458
  205. * REPLACING old line(s) by new
  206. * ------[ first line different ]------
  207. 59492 CALL QuickTPut1 ("No such option <" + ZWasZ$ + ">")
  208.       GOTO 59460
  209.       END SUB
  210. * REPLACING old line(s) by new
  211. 59850 ' $SUBTITLE: 'ConfMail -- quickly checks mail waiting'
  212. ' $PAGE
  213. '
  214. '  NAME    -- ConfMail
  215. '
  216. '  INPUTS  -- PARAMETER        MEANING
  217. '         SKIP.CONFIRM         Whether to skip confirm of option
  218. '         ZConfMailList$       File of user/message pairs to check
  219. '         ZActiveUserFile$     Active user file (restored on exit)
  220. '         ZActiveMessageFile$  Active msg file (restored)
  221. '  OUTPUTS -- None
  222. '
  223. '  PURPOSE -- Quicking scans message header record to get
  224. '             last msg # and user record to get whether any
  225. '             new mail and last msg read, reports both, using
  226. '             highlighting if new mail to caller.
  227. '
  228.       SUB ConfMail (MailCheckConfirm) STATIC
  229.       SkipJoinUnjoin = ZNonStop
  230.       IF ZStartHash = 1 AND ZUserFileIndex > 0 THEN _
  231.          CALL FindIt (ZConfMailList$) _
  232.       ELSE ZOK = ZFalse
  233.       IF NOT ZOK THEN _
  234.          EXIT SUB
  235.       IF MailCheckConfirm THEN _
  236.          ZOutTxt$ = "Check conferences for mail ([Y],N)" : _
  237.          ZTurboKey = -ZTurboKeyUser : _
  238.          CALL PopCmdStack : _
  239.          IF ZNo OR ZSubParm < 0 THEN _
  240.             EXIT SUB
  241.       CALL BreakFileName (ZActiveUserFile$,WasX$,NowInPre$,NowInExt$,ZFalse)
  242.       CALL BreakFileName (ZOrigUserFile$,WasX$,OrigPre$,OrigExt$,ZFalse)
  243.       CALL SkipLine (1)
  244. * ------[ first line different ]------
  245.       CALL QuickTPut1 ("Checking Message Bases...")
  246.       AnyMail = ZFalse
  247.       ZStopInterrupts = ZFalse
  248.       WasA1$ = ZActiveUserFile$
  249.       MsgFileSave$ = ZActiveMessageFile$
  250.       TempIndivValue$ = ""
  251.       UserFileIndexSave = ZUserFileIndex
  252.       UserRecordHold$ = ZUserRecord$
  253.       ZOK = ZTrue
  254. * REPLACING old line(s) by new
  255. 59852 IF EOF(2) OR NOT ZOK THEN _
  256.          GOTO 59854
  257.          CALL ReadAny
  258.          ZActiveUserFile$ = ZOutTxt$
  259.          CALL ReadAny
  260.          IF ZErrCode > 0 THEN _
  261.             GOTO 59854
  262.          ZActiveMessageFile$ = ZOutTxt$
  263.          CALL FindFile (ZActiveUserFile$,ZOK)
  264.          IF NOT ZOK THEN _
  265.             GOTO 59854
  266.          CALL OpenUser (HighestUserRecord)
  267.          FIELD 5, 128 AS ZUserRecord$
  268.          CALL FindFile (ZActiveMessageFile$,ZOK)
  269.          IF NOT ZOK THEN _
  270.             GOTO 59854
  271.          CALL FindUser (ZOrigUserName$,"",ZStartHash,ZLenHash,_
  272.                         0,0,HighestUserRecord,_
  273.                         Found,HoldUserFileIndex,ZWasSL)
  274.          IF NOT Found THEN _
  275.             GOTO 59852
  276.          CALL OpenMsg
  277.          FIELD 1, 128 AS ZMsgRec$
  278.          GET 1,1
  279.          AnyMail = ZTrue
  280.          WasX = CVI(MID$(ZUserRecord$,57,2))
  281.          WasX = (WasX AND 512) > 0
  282.          CALL BreakFileName (ZActiveUserFile$,WasX$,CurPre$,CurExt$,ZFalse)
  283.          InCur = (CurPre$ = NowInPre$ AND CurExt$ = NowInExt$)
  284.          IF InCur THEN _
  285.             WasX = ZMailWaiting : _                                  ' KG030101
  286.             ZWasA = ZLastMsgRead _
  287.          ELSE ZWasA = CVI(MID$(ZUserRecord$,51,2))
  288.          ZWasB = VAL(LEFT$(ZMsgRec$,8))
  289.          WasZ = (ZWasB - ZWasA)
  290.          IF WasZ < 0 THEN _
  291.             ZWasA = 0 : _
  292.             WasZ = ZWasB _
  293.          ELSE IF WasZ = 0 THEN _
  294.                  WasX = ZFalse
  295.          ZOutTxt$ = MID$(STR$((ZWasB > ZWasA) * WasZ),2)
  296.          ZWasSL = LEN(ZOutTxt$)
  297.          ZOutTxt$ = SPACE$(-(ZWasSL<4) * (4-ZWasSL)) + ZOutTxt$
  298.          ZWasSL = LEN(CurPre$)
  299.          IF CurPre$ = "USERS" AND CurExt$ = "" THEN _
  300.             Conf$ = "MAIN" _
  301.          ELSE Conf$ = LEFT$(CurPre$,ZWasSL-1)
  302.          ZWasY$ = Conf$ + SPACE$(-(ZWasSL<8) * (8-ZWasSL))
  303.          IF WasX THEN _
  304.             WasX$ = ZEmphasizeOn$ : _
  305.             ZWasZ$ = ZEmphasizeOff$ _
  306.          ELSE WasX$ = "" : _
  307.               ZWasZ$ = ""
  308.          ZOutTxt$ = ZWasY$ + ": " + ZOutTxt$ + " new message(s): " + _
  309. * ------[ first line different ]------
  310.               WasX$ + MID$("-None-*Some*",-6 * WasX + 1,6) + " to you" + ZWasZ$
  311.          ZSubParm = 5
  312.          CALL TPut
  313.          IF WasZ <= 0 THEN _
  314.             GOTO 59853
  315.          IF SkipJoinUnjoin THEN _
  316.             CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue) : _
  317.             GOTO 59853
  318.          ZTurboKey = -ZTurboKeyUser
  319.          CALL AskMore (",J)oin,U)njoin",ZTrue,ZFalse,WasX,ZFalse)
  320.          IF ZNo THEN _
  321.             GOTO 59854
  322.          WasX$ = LEFT$(ZUserIn$(1),1)
  323.          CALL AllCaps (WasX$)
  324.          IF WasX$ = "J" THEN _
  325.             ZHomeConf$ = Conf$ : _
  326.             GOTO 59854
  327.          IF WasX$ = "U" THEN _
  328.             IF InCur OR (OrigPre$ = CurPre$ AND OrigExt$ = CurExt$) THEN _
  329.                CALL QuickTPut1 ("Can't omit yourself from the board or conference you're in.") _
  330.             ELSE LSET ZUserRecord$ = CHR$(0) + "deleted user" : _
  331.                  ZUserFileIndex = HoldUserFileIndex : _
  332.                  ZSubParm = 6 : _
  333.                  CALL FileLock : _
  334.                  PUT 5, HoldUserFileIndex : _
  335.                  ZSubParm = 8 : _
  336.                  CALL FileLock : _
  337.                  CALL QuickTPut1 ("Omitted you from " + Conf$)
  338. * REPLACING old line(s) by new
  339. 59854 ZActiveUserFile$ = WasA1$
  340.       CALL OpenUser (HighestUserRecord)
  341.       FIELD 5, 128 AS ZUserRecord$
  342.       IF (NOT ZRet) AND NOT AnyMail THEN _
  343. * ------[ first line different ]------
  344.          CALL QuickTPut1 ("You haven't joined any conferences.")
  345.       ZUserFileIndex = UserFileIndexSave
  346.       LSET ZUserRecord$ = UserRecordHold$
  347.       ZActiveMessageFile$ = MsgFileSave$
  348.       CALL OpenMsg
  349.       FIELD 1, 128 AS ZMsgRec$
  350.       GET 1,1
  351.       ZNonStop = (ZPageLength > 0)
  352.       END SUB
  353. * REPLACING old line(s) by new
  354. 62540 ' $SUBTITLE: 'RptTime -- Reports time on system'
  355. ' $PAGE
  356. '
  357. '  NAME    --  RptTime
  358. '
  359. '  INPUTS  --  PARAMETER                   MEANING
  360. '
  361. '  OUTPUTS --
  362. '
  363. '  PURPOSE --  Tells user time used on system
  364. '
  365.       SUB RptTime STATIC
  366.       CALL SkipLine (1)
  367.       CALL GetTime
  368.       CALL AMorPM
  369.       Mins = (ZSessionHour * 60) + ZSessionMin
  370.       CALL Carrier
  371.       IF ZSubParm = -1 THEN _
  372.          EXIT SUB
  373. * ------[ first line different ]------
  374.       CALL QuickTPut1 ("It's Now: " + DATE$ + " at " + TIME$)
  375.       CALL QuickTPut1 ("Time On:" + STR$(Mins) + " mins," + _
  376.                         STR$(ZSessionSec) + " secs")
  377.       CALL Talk (7,ZOutTxt$)
  378.       END SUB
  379. * REPLACING old line(s) by new
  380. 62620 ' $SUBTITLE: 'Transfer - Subroutine for external protocols'
  381. ' $PAGE
  382. '
  383. '  NAME    -- Transfer
  384. '
  385. '  INPUTS  --     PARAMETER                    MEANING
  386. '              ZTransferFunction         = 1 DOWNLOAD FILE TO USER
  387. '                                        = 2 UPLOAD FILE TO RBBS-PC
  388. '              ZFileName$                NAME OF FILE FOR Transfer
  389. '              ZComPort$                 NAME OF COMMUNICATIONS PORT
  390. '                                        TO BE USED BY KERMIT (COM1
  391. '                                        OR COM2)
  392. '              ZBPS                      = -1 FOR   300 BAUD
  393. '                                        = -2 FOR   450 BAUD
  394. '                                        = -3 FOR  1200 BAUD
  395. '                                        = -4 FOR  2400 BAUD
  396. '                                        = -5 FOR  4800 BAUD
  397. '                                        = -6 FOR  9600 BAUD
  398. '                                        = -7 FOR 19200 BAUD
  399. '
  400. '  OUTPUTS  -- NONE
  401. '
  402. '  PURPOSE -- To transfer files using external protocols
  403. '
  404.       SUB Transfer STATIC
  405.       IF ZPrivateDoor THEN _
  406.          CALL PrivDoorRtn : _
  407.          EXIT SUB
  408.       IF ZTransferFunction = 1 THEN _
  409.          ZUserIn$ = ZDownTemplate$ : _
  410.          ZWasZ$ = "send " _
  411.       ELSE IF ZTransferFunction = 2 THEN _
  412.               ZUserIn$ = ZUpTemplate$ : _
  413.               ZWasZ$ = "receive "
  414.       CALL MetaGSR (ZUserIn$,ZFalse)
  415.       CALL QuickTPut1 ("Protocol     : "+ZProtoPrompt$)
  416. * ------[ first line different ]------
  417.       CALL QuickTPut ("Ready to " + ZWasZ$,0)
  418.       IF ZBatchTransfer THEN _
  419.          CALL QuickTPut1 ("(BATCH)") : _
  420.          CALL OpenWork (2,ZNodeWorkFile$) : _
  421.          WHILE NOT EOF(2) : _
  422.            CALL ReadAny : _
  423.            CALL BreakFileName (ZOutTxt$,ZWasZ$,ZWasY$,WasX$,ZTrue) : _
  424.            CALL QuickTPut1 ("   "+ZWasY$+WasX$) : _
  425.          WEND _
  426.       ELSE CALL QuickTPut1 (ZFileNameHold$)
  427.       IF ZAutoLogoffReq THEN _
  428.          CALL QuickTPut1 ("Automatic logoff, if download successful")
  429.       CALL PrivDoorRtn
  430.       END SUB
  431. * REPLACING old line(s) by new
  432. * ------[ first line different ]------
  433. 64510 ZChatAvail = (INSTR("|@",ZActiveMenu$) = 0)
  434.       ZOK = ZTrue
  435.       ZLastIndex = 0
  436.       END SUB
  437.